package com.song.tools.songtest.beans.vo;

import com.song.tools.core.beans.UserInfo;
import com.song.tools.songtest.dao.entity.SysUser;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serial;

/**
 * 用户vo
 *
 * @author song tools
 */
@EqualsAndHashCode(callSuper = true)
@Data
public class UserVO extends SysUser implements UserInfo {
    @Serial
    private static final long serialVersionUID = 6942458376033875870L;

    /**
     * 用户token
     */
    private String token;

    /**
     * 角色id
     */
    private Long roleId;

    @Override
    public Long id() {
        return super.getId();
    }

    /**
     * 获取用户名
     *
     * @return 用户名
     */
    @Override
    public String username() {
        return super.getUsername();
    }

    /**
     * 获取登录账号
     *
     * @return 登录账号
     */
    @Override
    public String loginAccount() {
        return super.getLoginAccount();
    }

    /**
     * 获取昵称
     *
     * @return 昵称
     */
    @Override
    public String nickName() {
        return super.getUsername();
    }

    /**
     * 获取手机号
     *
     * @return 手机号
     */
    @Override
    public String phone() {
        return super.getPhone();
    }

    /**
     * 获取邮箱
     *
     * @return 邮箱
     */
    @Override
    public String email() {
        return super.getEmail();
    }

    /**
     * 获取用户token
     *
     * @return 用户token
     */
    @Override
    public String token() {
        return this.token;
    }

    /**
     * 获取角色id
     *
     * @return 角色id
     */
    @Override
    public Long roleId() {
        return this.roleId;
    }
}
